When building a distributed shared memory system based on multiple nodes of snoopy front side processor buses, it is useful to have a technique to guarantee that no processor has a copy of a cache line and that the memory has the only up to date copy. The standard mechanism provided by the snoopy front side processor bus only can perform such an operation locally as it has no knowledge of other buses in the system. Also, cache flush techniques are typically sent to each processor whether or not the processor has a copy of the cache line to flush. Therefore, it is desirable to handle cache flushes on a global level without occupying the system with unnecessary flush requests.